Refactored to use inheritance and separate logic where possible.
Addressed comments.
Change-Id: I9e62414cd83121575bdf99a3b47466a7585bedb6
Former-commit-id: 17196b5dcd [formerly dbba727f3d [formerly 6e015b3f61c20635077d6e8271e9b763e5a32fe1]]
Former-commit-id: dbba727f3d
Former-commit-id: e4be1f24e7
to use a new PointImageExtension which provides an
interface for drawing images at a single point,
which kml can use to extract plot images.
Change-Id: I29b07ed4f9e8ea95ed131ab1eb3ca27efadaf0e2
Former-commit-id: 13a99abe7b [formerly d976603262 [formerly 0f56c76ab830ef088a9576301c795dca7c855033]]
Former-commit-id: d976603262
Former-commit-id: 792dc75f4d