egreg's solution can easily be modified to use ntheorem instead of amsthm:
\documentclass{book}
\usepackage{ntheorem}
\makeatletter
\newtheoremstyle{azimut}%
{\item[\rlap{\vbox{\hbox{\hskip\labelsep \theorem@headerfont
(##2)\ ##1\theorem@separator}\hbox{\strut}}}]}%
{\item[\rlap{\vbox{\hbox{\hskip\labelsep \theorem@headerfont
(##2)\ ##1:\ ##3\theorem@separator}\hbox{\strut}}}]}
\newtheoremstyle{azimutnoname}%
{\item[\rlap{\vbox{\hbox{\hskip\labelsep \theorem@headerfont
(##2)\theorem@separator}\hbox{\strut}}}]}%
{\item[\rlap{\vbox{\hbox{\hskip\labelsep \theorem@headerfont
(##2)\ ##3\theorem@separator}\hbox{\strut}}}]}
\newtheoremstyle{azimutnonumber}%
{\item[\rlap{\vbox{\hbox{\hskip\labelsep \theorem@headerfont
##1\theorem@separator}\hbox{\strut}}}]}%
{\item[\rlap{\vbox{\hbox{\hskip\labelsep \theorem@headerfont
##1:\ ##3\theorem@separator}\hbox{\strut}}}]}
\makeatother
\theoremstyle{azimut}
\newtheorem{theorem}{Theorem}[chapter]
\newtheorem{definition}[theorem]{Definition}
\newtheorem{remark}[theorem]{Remark}
\theoremstyle{azimutnoname}
\newtheorem{looseinner}[theorem]{}
\makeatletter
\newenvironment{loose}[1][]
{\ifx\relax#1\relax\looseinner\else\looseinner[#1]\fi}
{\endlooseinner}
\makeatother
\theoremstyle{azimutnonumber}
\newtheorem{proof}{Proof}
\begin{document}
\chapter{Foundations}
\begin{definition}
Some text
\end{definition}
\begin{remark}
Some text
\end{remark}
\begin{loose}
Some more content without an explicit title, possibly spanning several paragraphs.
Some more content without an explicit title, possibly spanning several paragraphs.
\end{loose}
\begin{theorem}
Some text
\end{theorem}
\begin{proof}
Some text
\begin{loose}
Some other background story without explicit title, possibly spanning several paragraphs.
Some other background story without explicit title, possibly spanning several paragraphs.
\end{loose}
\end{proof}
\begin{loose}[Further insight]
Some text
\end{loose}
\end{document}

The style definitions above are just an adapted version of ntheorem's default style break. If you want to omit the line break after headings, use adapted versions of the plain style instead.
\makeatletter
\newtheoremstyle{azimut}%
{\item[\hskip\labelsep \theorem@headerfont (##2)\ ##1\theorem@separator]}%
{\item[\hskip\labelsep \theorem@headerfont (##2)\ ##1:\ ##3\theorem@separator]}
\newtheoremstyle{azimutnoname}%
{\item[\hskip\labelsep \theorem@headerfont (##2)\theorem@separator]}%
{\item[\hskip\labelsep \theorem@headerfont (##2)\ ##3\theorem@separator]}
\newtheoremstyle{azimutnonumber}%
{\item[\hskip\labelsep \theorem@headerfont ##1\theorem@separator]}%
{\item[\hskip\labelsep \theorem@headerfont ##1:\ ##3\theorem@separator]}
\makeatother