Add support for defining joystick buttons

Input.defineButtons() sets joystick button mappings. Input.check(),
Input.pressed() and Input.released() can be used to read them the same
way you would with keys. Does not break any existing Haxepunk projects