Make "Text" work better with canvas

The major change is that a "Canvas, Text" entity will automatically resize when either its font or text are changed.
This is accomplished by using measureText() to get the width, and estimating the font size in pixels for the height.
Currently the width is adjusted *after* drawing, and the height not at all.  This often caused the text to be rendered with portions cut-off.

Text is now also drawn at the (x,y) coordinate of the entity, with the baseline set to "top".  Previously text was translated to the bottom left corner of the entity, resulting in descenders getting cut-off.

Tests were added for the new resizing feature.
Merge pull request #620 from starwed/text-resize

Make "Text" work better with canvas
Fix bugs in stage.html centerOn

This fixes a couple of bugs in the centerOn tests.
- Expected values of viewport x/y will be integers
- clampToEntities needs to be turned off for one of the tests to work

Both of theses issues were invisible in phantomJS due to the default viewport size.
Merge pull request #623 from starwed/stage-centeron

Fix bugs in stage.html centerOn
Bug Fix: Don't clobber background CSS property for the Image component

Expected: when adding a CSS property to an image entity, it should apply the CSS to the image element

Example: Crafty.e("2D, DOM, Image").image("bg.png").css({"background-size": "contain"});

Currently: background-size would not be added to the image element because the general background property wouldn't allow for specific background property
Merge pull request #624 from glaksmono/develop

Bug Fix: Don't clobber background CSS property for the Image component
Fix bug in steptype()

There were two bugs: the function argument shadowed the mode variable, and the semifixed mode would never actually be set.
Fix tweening of same properties by different entities, add tests
Merge pull request #626 from Dandandan/develop

Fix tweening of same properties by different entities
Merge pull request #633 from starwed/mode-fix

Fix bug in steptype()
Reversed compare in setChannels, corrected variable reference. Also fixed off-by-one creating channels
Workaround chrome sound bug, add tests

- Made changes to sound.js, to workaround bug 280417 in Chrome
- Working unit tests for sound, using fake sound objects
Merge branch 'jamespic-chrome-workaround' into develop

Conflicts:
	Gruntfile.js
Bump version to 0.6.0
Merge pull request #632 from starwed/ver6

Bump version to 0.6.0