[coordinate.js] Refactored precision handling

Moved the precision levels into the settings object and removed functions altering
the precision from the Coordinate prototype since a Coordinate object is meant to
be immutable.

Change-Id: I39753f037a0e6a2eca4264da68f041155ebdf6e1