Fix rounding bug when writing doubles to JSON

Using sprintf with "%#.16g" causes some values not to truncate correctly due to floating point precision. Printing to buffer using "%#.15g" fixes this, while still providing far higher maximum precision than is usually required.
Coordinate multiplier in ChemDoodle JSON format

By default, coordinates should be multiplied by 20 to display properly on a ChemDoodle canvas. Conversely, coordinates are divided by 20 when reading from ChemDoodle JSON.

An option has also been added to allow a custom multiplier to be specified when reading or writing.