Pass empty object as 'this' when no data context

in template helpers and event handlers. 'this' must be an object and
it can't be null, so an empty object is the best we can do (and surely
better than 'window' which is what we had before this commit)

This was a regression from Spark.