[#179] added MSPointer Support (by Halfman)

Original repository :
https://github.com/MrHalfman/MelonJS-Custom
[#179] some code refactoring and cleaning
[#179] fixed `releaseMouseEvent` not releasing MSPointer events
[#179] added missing corresponding MS* event to click/tap
[#179] further cleaning/code refactoring
[#179] moved the `handlers` list outside of the `me.input.mouse` object

it's a private list anyway, and should have not been there in the first
place.
Added Mr Halfman in the contributor list :)
[#179] added some kind of polyfill to manage both MS prefixed events and standardized ones

I'm not really sure we actually need to add other vendors extension, do
we ?

also how should a polyfill work with event name, do we have then to
specifically detect each browser vendor and act accordingly ?
[#179] disable panning/zooming when touching the canvas

@link http://msdn.microsoft.com/en-us/library/windows/apps/hh767313.aspx
[#179] added a call to `preventManipulation()' for backward compatibility
[#179] properly set `me.sys.touch` on W8 based multitouch platforms
[#179] Removed disabling of default behavior to match with iOS/Android default "touch implementation"

This can be disabled through the corresponding CSS property (see melonJS
boilerplate)
[#179] also remove this to be consistent with previous commit
Refactored the way the canvas position is calculated to make it more homogeneous between all event types

this is now using `getBoundingClientRect` :
http://www.jacklmoore.com/notes/mouse-position/

https://developer.mozilla.org/en-US/docs/DOM/element.getBoundingClientRect
reorganized the whack-a-mole example to match with the new melonjs boilerplate

Since i'm using this one for testing the PointerEvent stuff, it's kind
of easier to also get the fullscreen/resize and other fancy
corresponding JS tricks/CSS properties :)
Fixed `me.video.getPos` when `getBoundingClientRect` is not supported (e.g. CocoonJS, probably appMobi and others too)

Note that we just return {0,0} then, which should be ok, since the only
element displayed is the actual canvas !
[#139] fixed the test on `e.pointerType` and changed the tested value to test behavior with PEN PointerType (Stylus)
[#179] typo
[#179] set a proper event id when using PointerEvent
[#179] potential fix for multi-touch using PointerEvent