FlxState: small cleanup

- removed _subState by making subState (default, null)
- made tryUpdate() private
- made requestedSubState and reqeustSubStateReset private
Update CHANGELOG.md
FlxSubState API cleanup

- FlxState.setSubState() -> FlxState.openSubState()
- removed FlxSubState.close(), there is FlxState.closeSubState() already
- removed FlxSubState._parentState
- FlxSubState.initalized -> FlxSubState._created
FlxTypedButton: change label alpha behaviour to take button alpha into account, closes #886

Also some code style / intendation improvements
FlxSubState: make internals of closeSubState() less confusing
FlxButton / FlxTypedButton: remove OnClickParams from the constructor description, closes #888
FlxSubState: add _parentState and close() again
Merge pull request #885 from Gama11/FlxSubState2

FlxSubState API cleanup
FlxG.set_scaleMode(): call game.onResize() instead of resizeGame() to update other things like the debugger size too
FlxG.removeChild(): add safety check
Add FlxStringUtil.getDebugString() to facilitate creating toString() functions
Use spaces for formatting
FlxSystemButton improvements

- implement IFlxDestroyable
- downHandler -> upHandler
- icon -> _icon
- don't allow "swipe-pressing" anymore (clicking somehwere and then releasing the mouse over the button)
- don't require a upHandler to be set for toggling to work
Small cleanup for DebuggerFrontEnd + update outdated descriptions
Window: add optional close button
FlxGame cleanup

made most of FlxGame's previously public vars private
Don't use @:publicFields
FlxGame default constructor values
Unit test cleanup
FlxG.fullscreen: remove @isVar