FlxTypedButton refactor
- doesn't use flash events anymore
- created FlxButtonEvent class  (containing the callback, callbackParams and sound) to get rid of redundant code - breaking change!
- update logic is more logical / readable
- adjusted button release logic to fix a bug with multitouch input where releasing one button while two are pressed would release both (the real bug behind this is probably somewhere within FlxTouchManager, need to investigate)
- destroy() now uses FlxG.safeDestroy()
- labelOffset is now (default, null)
- FlxButton now has a new OnClickParams constructor param
- FlxPoint now implements IDestroyable
- FlxVirtualPad, PxButton: Compatibility with the FlxTypedButton refactor
- FlxG.safeDestroy() now sets the Object to null and is inlined
FlxTypedButton: Allow "swiping" to press buttons
FlxTypedButton: Remove inline from some functions

so they can be overriden
Merge branch 'dev' of https://github.com/HaxeFlixel/flixel into dev_FlxTypedButton
FlxTypedButton: Fix destroy()-functions, more flexibility
- Reverted all changes to FlxG.safeDestroy
- Added new labelAlphas and labelOffsets arrays for less hardcoding and more flexibility (@larsiusprime)
- new set_status() method (@larsiusprime)
- fix bug with label.y increase on press
Merge pull request #750 from Gama11/dev_FlxTypedButton

FlxTypedButton refactor, closes #763