Write a grunt task to sync bower.json with package.json.

The task reads package.json and bower.json and then updates the
description, version, homepage, author, contributors, and licenses.

This way we only have to maintain this data inside package.json.
Fix Gruntfile to watch for changes to .less files instead of mangaperformer.css.
Change our font stack and styling.

Stop using Helvetica, use Lucida and Verdana.
Stop messing with the smoothing.
Go back to normal weights.
Use a fixed font size to account for our lack of control over the font size on the body.
Update bg colours.

- Use fade as a way to write rob in an easier to read way.
- Drop the fallback bg colour on the UI as a solid colour will obstruct content.
Make the pane preview fade in and out instead of simply hiding it.
Kill jQuery's cache disabling and start bundling language file fingerprints with mangaperformer.js to use as cache busters.
Implement tooltips for the buttons.
Put all browser supports tests in a common Supports object in a new supports.js file.
Fix missing new for the CSS 2.1 viewport.
Merge ViewportTransform2D and ViewportTransform3D into ViewportTransform.
Implement the 3D transforms.

This puts the viewport on a separate layer than the UI so changes in one doesn't require large repaints on the other.
This results in significantly improved performance for the tooltips on iOS.
Add a null 3d transform to the slider handle and pane preview.

This forces the components of the sliders which typically move around the screen to be part of their own layers.
This avoids doing medium sized repaints whenever the slider handle is moved.
Update mangaperformer.js with the changes to the recent commits.
Improve tooltip behaviour on touch devices.

- Cancel touchend events to prevent a bug where a lingering tooltip shows up after button taps.
- Fix the flash of tooltips when repeatedly tapping a button soon after having opened a tooltip once.