Generalized (:=) to support non 'JSObject' sunroof values.

Noticed the need while introducing 'JSCanvas'.
Introduced 'JSCanvas'.
Generalized (!) to except other Sunroof values as well.
Fixed examples.