Accounting for screen density and extra XML attributes

ImageMap now accounts for screen density factor. Until now it always used density 1.0, which corresponds to Android MDPI, so areas and touch handling were done incorrectly on HDPI or higher resolutions.

Instead of using HashMap&lt;Integer, Area&gt;  we now use SparseArray&lt;Area&gt; for a slight performance improvement.

When creating an ImageMap, new parameters can be defined in XML:
- ctc:fitImageToScreen (boolean, was constant inside the library before)
- ctc:mScaleFromOriginal (boolean, was constant inside the library before)
- ctc:maxSizeFactor (how big the pic scale factor can be; defaults to 1.5f)

The OnImageMapClickedHandler interface has been changed:
the onImageMapClicked() callback now accepts an area id as well as the ImageMap itself.
This has been done for the case of searching for something across several imagemaps.

Area addShape() is now protected, not private, so in theory we can extend ImageMap with a custom way of adding areas at runtime.

The project target SDK is now version 19 (Android 4.4).