Trying to be a bit more clever with passing arguments to the hyperref
custom driver so that the links are produced correctly.
Added some basic support for cleveref.
Added the facility to specify the section etc levels independently of
each other.  There's also a global offset.

(Requested by Simon Willerton.)