Merge branch 'gamepadsupport' of https://github.com/karlmacklin/phaser into karlmacklin-gamepadsupport

Conflicts:
	README.md
Brand new Gamepad API support fully implemented (thanks to Karl Macklin), with examples to show use.
Two new particle examples and a group animation example. Also fixed CocoonJS sound issue and Cache sound locked bug.
Lots of fixes and updates to the Button class, InputHandler for snap offsets, Sound looping and Stage scaling.
Loader.progressFloat contains the actual non-rounded progress value, where-as Loader.progress contains a rounded value. Use progressFloat if you've > 100 files to load.
Warning: This version has a new ArcadePhysics handler in it. Don't upgrade if you need this for live game code, wait until we go to master. Otherwise, this commit contains lots of new physics demos and a new updateMotion and Body class to try and fix, once and for all, the physics issues with applied forces.
Further physics modifications
Angular Physics re-implemented, most tests now working as expected.
Added BitDeli badge, also updating Timer class.
Timer class overhaul.
Groups can now be added to other Groups as children via group.add() and group.addAt().
Groups now have an 'alive' property, which can be useful when iterating through child groups with functions like forEachAlive.
phaser.d.ts corrections
World is a Group. Needed to remove stuff again e.g. a "BitmapText"
Added a new Full Screen Mobile template example.
Merge pull request #295 from Niondir/dev

phaser.d.ts corrections
Added new Contributors guide.
Device.quirksMode is a boolean that informs you if the page is in strict (false) or quirks (true) mode.
Canvas.getOffset now runs a strict/quirks check and uses document.documentElement when calculating scrollTop and scrollLeft to avoid Chrome console warnings.
The Time class now has three new methods: addEvent, repeatEvent and loopEvent. See the new Timer examples to show how to use them.