emit instance properties on construct instead of closured

because el was undefined when domifying a template. also changed all emitted values to be instance properties instead of the closured ones, so being future proof.

side-note: the other pull request branches from this one because otherwise they were conflicting. you probably only need to pull the other one, but review anyway.