use imagemap class for HTML rendering

This commit represents a re-write of the GraphViz extension with
the following primary goals:

 - improve security

 - improve performance

 - improve file management

 - reduce configuration

 - improve internal documentation

The most significant design decision was to use the existing ImageMap
class for rendering the image maps rather than re-implementing that
functionality in the GraphViz extension as was formerly the case
(see GraphViz::imageAttributes() in the prior version).

The internal documentation for the GraphViz::render method includes
a security considerations section with a detailed explanation of the
author's opinion of the security concerns of the extension and an
explanation of how they are addressed.

Performance is improved by only re-rendering graph images and maps
when necessary.

File management is improved by retaining necessary files and deleting
unnecessary ones deterministically rather than heuristic "pruning" as was
previously the case.

Configuration parameters are reduced from 8 to 3
(execPath, mscgenPath, defaultImageType).

Internal documentation is provided for all methods and parameters in
the recommended format (doxygen).

Change-Id: I9c188f19f71d90216a1306ec9040d7936da8d46c