giving x or y as null in move will *not* change that property, canvas property starts defaulted to null like in elements
validate() proxies super to parent
overriding bind() in order to bind all already defined points
validator handles position and x, y interaction
using position point rather than x, y in prepare
using element.bind(@) instead of element.canvas = @
new build