support delay of Sprite.move_to()
optimized Sprite.coordinates()

offsetWidth and offsetHeight are expensive operations. pre-calulate them
during initialization and store them as properties on the object.