You can now use the hitArea property on Sprites and Image objects. hitArea can be a geometry object (Rectangle, Circle, Polygon, Ellipse) and is used in pointerOver checks.
InputManager.getLocalPosition(displayObject, pointer, output) will return the local coordinates of the specified displayObject and pointer.
InputManager.hitTest will test for pointer hits against a Sprite/Image, its hitArea (if set) or any of its children.
Updated Sprite to use the new smaller, leaner code. Farewell insane cache objects and multiple point processing!
Button now extends Phaser.Image not Phaser.Sprite, all the same functionality as before remains, just no animations or physics body.
Graphics updated and restored. Working through fixing up Physics.