Added implicit closure simulation for function literals in compilation
logic.

E.g.

var createClosure = function(y) {
	var x = 5;
	return function() {
		return x * y;
	}
};

compiles to:

var createClosure = function(y) {
	var x = 5;
	return {
		x: x,
		call: function() {
			return x * y;
		}
	}
};

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