Add Map abstraction and sample tool

This Map abstraction stub is capable of cropping the map from 2 of the 6
map variants I found so far. The next step is to OCR the coordinates.
Add tesseract-based OCR for parsing the map coordinates

For a given ImageMagick Image, we parse the coordinates and output
a decimal degree float as result.
Add parser for the X and Y coordinates

This patch also adds the magic bounding box and offset of the
coordinates that I hope will work on every map format.

The coordinates placement seems to be aligned with the map corner. The
font also size also seems to be the same. Fingers crossed.
Add method for getting the Map width and height

Note that the height values can be negative as we go south.
Remove the InvalidMap

Bloated, better just return None when we cannot find a map for a
particular geometry.
Attempt to make the OCR more precise

In my tests, the OCR has better times with PNG (probably due to
compression). I did not manage to get a lossless format working so far,
but should be a good thing to do in the future.

Also, whitelisting the symbols (degrees, minutes, seconds), gives some
hints to the parser and makes it more precise.
Add pixel density check

The degrees density per pixels on each direction should be very similar
(ideally the same, but won't be due to floating point math). If they are
not, we OCR'ed the wrong coordinates or the map bounding box is wrong.
Update the testing tool

We now try up to 3 different scale factors in a hope to parse the
coordinates correctly.