tests:asciimap: fix test on Python 3

Patching print() is really rather subtle. Instead of patching print
directly, patch sys.stdio.write.
asciimap: do not use print() for output

The fact that print() uses std.stdout.write() under the covers is
probably non-portable. Don't rely on this for the tests to pass.
setup: add GDAL dependency

GDAL is a library which allows direct access to a variety of Geospatial
Data formats. (It is, in fact, a Geospatial Dataset Abstraction
Library.)

The Python bindings are distributed separately on PyPI as the GDAL egg.
Add it as a requirement to setup.py.
travis: add GDAL setup magic

On the 12.04 Ubuntu boxes which act as Travis workers, the distro GDAL
packages are quite old so add the ubuntugis PPA to enable a more modern
GDAL to be installed. Also specify the exact version of the Python
bindings to install in order to match the installed GDAL.