cleanup: make buildDiagram (and several other functions) take a BuildOpts record
function to help with creating BuildOpts records
bump version to 0.5
switch to using hashes from Data.Hashable

The only thing one might worry about is more probable hash
collisions (since hashable uses Int values for hashes, we only get 64
(or 32) bit hashes as opposed to the 128 bits we were getting with MD5.
I have included a comment giving some rough ballpark estimates for the
probability of collisions.  I think in practice it is not a concern,
except perhaps when building thousands of diagrams simultaneously on a
32-bit system.
re-export hashToHexStr from Diagrams.Builder
updates for diagrams-builder-cairo
updates for diagrams-builder-ps
updates for diagrams-builder-svg
postprocess diagrams after interpreting them
Merge branch 'postprocess'