Add Hashable instance for Options SVG R2

Depends on diagrams/diagrams-lib#146.

This pull request:

* Adds a dependency on `hashable > 1.1` (part of the HP)
* Adds a direct dependency on `blaze-markup` (was already an transitive dependency via `blaze-svg`)
* Adds a dependency on the `DeriveGeneric` extension (since GHC 7.2)
* Adds a `Hashable` instance for `Options SVG R2`; needed for some pending changes/reorganization to `diagrams-builder`.

Note that there is also an orphan `Hashable` instance for `MarkupM` from `blaze-markup`.  Perhaps we could submit it upstream to `blaze-markup`, but that would mean adding a `hashable` dependency.

Note also the upper bound on `blaze-markup` is too restrictive; we can loosen it in a separate commit (assuming it works fine).