Added radical/charge rendering on molecule drawing.
Added radical/charge rendering on molecule drawing.

The idea is to imagine the atom containing the radical as a box, and pick the
best side to draw the radicals and charges on. For terminal atoms, this is
the side furthest from the bond, except that it must be top or bottom for
terminal atoms with implicit hydrogens. For internal atoms, we try to find the
side with the fewest bonds to draw the radicals and charges on.

Once the above has been decided, rendering need only consider four cases,
which should simplify things considerably.

nyee/RMG-Py,enochd/RMG-Py,chatelak/RMG-Py,KEHANG/RMG-Py,KEHANG/RMG-Py,jwallen/ChemPy,faribas/RMG-Py,comocheng/RMG-Py,nyee/RMG-Py,pierrelb/RMG-Py,pierrelb/RMG-Py,faribas/RMG-Py,enochd/RMG-Py,nickvandewiele/RMG-Py,chatelak/RMG-Py,comocheng/RMG-Py,nickvandewiele/RMG-Py