Add new identifying way for elements

HTML elements were identified using the value in the mapping file for
the needed column, this caused that when there was a value that had
disallowed characters, the coloring would be misleading and wrong.

This was true for both label coloring and sample coloring, for further
discussion see #99

Fixes #99 and fixes #15.
Merge pull request #100 from ElDeveloper/issue_99_and_15

Add new identifying way for elements
Add new version of Three.js

Current release we are using is the one tagged in the repository as r58,
doing git checkout r58 in that repo should suffice to retrieve this
version of the files.

Through the many updates they made, that affect emperor.js:
    - Removed TrackbalControls and from the main build, now lives in
      the examples folder.
    - Deprecated Vertex in favor of Vector3.
    - Removed the method setHSV.
    - Changed the method getHEX to return a hexadecimal value and not
      the hexadecimal string that we were expecting, should now use
      getHEXString.
    - Added a new class called ColorConverter that should be used to
      convert between HSV -> RGB and HSV -> HSL etc.

Just as a way to document this, the version in which we were was r47
however the build we had didn't match with the build that was in the
repo for that release, so I imagine it was really r47-dev.
Merge branch 'master' of git://github.com/qiime/emperor into issue_84
Change emperor.js to support THREE.js r58

The color for the renderer has to be set now as a THREE.Color and not as
a hexadecimal string, hence requiring a change for the color picker in
the background and in the init function.

Vertex objects were deprecated; so makeLine() had to be modified so it
now uses only Vector3 objects.

Matrix multiplications were removed from the Matrix4 objects,
multiplications are now done using Vector3.Matrix4 or
Vector3.applyProjection() when the factor to multiply for is a vector or
Matrix4.multiplyMatrices() to multiply two matrices; these changes are
refelected in toScreenXY();

Colors no longer return a string in hexadecimal format when calling
getHex, hence all THREE.Color objects now call the method
getHexString().

Additionaly the credit strings at the top were updated.

Fixes #84.
Change default way biplots are colored

THREE.Color dropped suppor for initializing the object with a
hexadecimal string, hence it has to be set explicitly with the setHex()
method.
Update emperor.js and Three.js for all examples
Fixes recenter camera button not working

THREE.TrackBallControls has a method to reset it's values.
Update emperor.js in sample test data

This updates makes recenter camera, work.
Update ChangeLog.md and LICENSE.md

LICENSE.md now has a link pointing to the release of the dependency
that's included.
Merge pull request #104 from ElDeveloper/issue_84

Fixes Issue 84