Interface to control a custom sprite object on a XSpriteCanvas.
Every change performed on XCustomSprite objects is only visible
after a XSpriteCanvas::updateScreen() call, to facilitate
synchronized screen updates.
TODO: Maybe more than alpha has to be overridden from render state.
TODO: Provide means to change the output area
Whatever is rendered to this canvas will become visible on the
screen only after a XSpriteCanvas::updateScreen() call at the
associated sprite canvas. This canvas is not equivalent to the
host canvas of the sprite. At the very least, all output
happens relative to the sprite's upper left corner, i.e. the
origin of the sprite's canvas device coordinate system will
move with the sprite across the screen.
Returns
the canvas the sprite content can be rendered into.