Changed while primitive to assume closure as inputs. In case of
closure literals, functionality remains. Otherwise, calls to the
runtime-resolved closure is made.

Thus, now, the correct way to apply if else is either with closure
literals, e.g.:

while' condition, body
while: {condition}, {body}

or with non closure literal expressions, e.g.:

while: condition, body

Signed-off-by: Jakob Brandsborg Ehmsen <jakobehmsen.github@gmail.com>