Made the CairoPainter object a private variable to the class again instead of a local var in WriteMolecule(). I got errors when trying to depict multiple molecules otherwise.
Made hash bonds draw with line width 1, required adding the function GetPenWidth to the different painters to be able to reset the pen width after drawing the bond.
Added the -b and -B options to pngformat to allow changes of colors when creating pngs.
Added -xm option for possibility to "crop" output image to a close bounding box of a single molecule.
Changed the metrics calculation in cairopainter to give nicer layout of text labels with sub and superscripts.
Appended .md to README
CIF output wraps fractional coordinates to [0, 1]

Some crystallographic software with weaker CIF parsers will error if
atoms are not in [0, 1].

Also, whitespace edits. Tabs and trailing whitespace are bad.
Improved duplicate atom testing in `OBUnitCell::FillUnitCell`

Previous implementation was O(N^2), checking the distances of atom-atom
combinations. It regained speed by only checking atoms against their
symmetric counterparts.

This implementation is amortized O(N), using a hash function. It uses
the extra speed to check every atom-atom connection, which handles a
series of corner-case issues (e.g. input cif file having duplicate
atoms, mirrored symmetry expansions).

Note that this could be improved even further, but it would require
some heavier edits to openbabel. The best approach uses an octree, of
which there are existing implementations.
Added atomic number to FillUnitCell hash method
Aesthetic spacing alignment edit to CIF

Replaced "    %3s  %3s  %10.5f %10.5f %10.5f %10.3f\n" with "
%-8s%-5s%.5f%10.5f%10.5f%8.3f\n", ensuring everything stays aligned.
Fixed OBMol::Center segfault issue

There were two different implementations, and one was dependent on
private variables that didn't necessarily exist. Now there is only one
implementation, and it's the one that doesn't segfault.
OBGUI.cpp: Fix compile

Complained about ambiguous conversion from const char* to const
wxString.  Used UTF8 encoding as in example in wxWidgets wiki since that
covers also the ASCII case.
Merge pull request #27 from Reinis/fix_gui_compile

OBGUI.cpp: Fix compile
cmake: Enable to build bindings only

So that don't have to rebuild OB just to add bindings. It allows to,
e.g., test Python bindings against multiple Python versions without
requiring to rebuild OB for each version.

Bindings form separate component to enable their installation using
command like this:
cmake -DCOMPONENT=bindings_python -P cmake_install.cmake

I have not looked at other bindings yet, but I think they should follow
similar approach.

--
In Gentoo we are providing separate packages for bindings and with
distutils it was very simple to build against system installation of OB
with a small change to setup.py:
 obExtension = Extension('_openbabel',
                  [os.path.join(srcdir, "openbabel-python.cpp")],
-                 include_dirs=[os.path.join(srcdir, "..", "..", "include"),
-                               os.path.join("..", "include")],
-                 library_dirs=[os.path.join(srcdir, "..", "..", "lib"),
-                               os.path.join(srcdir, "..", "..", "lib64"),
-                               os.path.join("..", "lib")],
+                 include_dirs=[os.path.join("/usr", "include", "openbabel-2.0")],
                  libraries=['openbabel']
                  )

With new build system for bindings it is not quite that straightforward.
cmake: Enable to build Perl bindings only
cmake: Enable to build Ruby bindings only
cmake: Enable to build Java bindings only
cmake: Enable to build PHP bindings only
Merge pull request #28 from Reinis/bindings_only

Change builds to allow building the bindings only (compiled against system libraries).
Fix cppcheck warning (return value of std::remove ignored)

Patch from Julien Nabet.