[Delivers #84086356] Moved value protection code to type coercion. Adds ...

...more types for attributes.
These probably shouldn't be here, since a type of 'scrollx' or 'scrolly' isn't generally useful. Also, these will fail if there is no @sprite, like in a Node. Kind of an edge case but still, I'm concerned about having state here, and requiring the .call() below. Could they be moved to a setter on View instead?