CUDA framework for menpo

The aim of this framework is to simplify as much as possible the development and use of future modules written in CUDA. The idea was to consider that the choice of using or not CUDA should be made Python-side in order to allow the user to choose between the classical algorithm or its CUDA implementation.

Checking if CUDA is available or not is quite straightforward:
```Python
from menpo.cuda.tools import is_cuda_available
if is_cuda_available():
    #run CUDA version
else:
    #run non-CUDA version
```

Adding CUDA modules is also intuitive. It can be done by adding the `*.pyx` file in the list `cython_cumodules` of `setup.py`.
Notes on documentation:

1. We use numpydoc for documentation of functions, classes and methods (docstrings). See their [style guide](https://github.com/numpy/numpy/blob/master/doc/HOWTO_DOCUMENT.rst.txt) for details of the format. We strive to have all menpo functionality perfectly documented, but some modules haven't been brought up to date yet - a nice example of perfect style is the [transform.base](https://github.com/menpo/menpo/tree/master/menpo/transform/base) module.
2. Use raw strings for docstrings (start with `r"""` not `"""`)
3. docstrings are out public facing documentation. Think about what you would like to see if you were working interactively and brought up the documentation for this function. I imagine something like:

```
r"""
Check if this system is capable of running CUDA Menpo code.

Returns
-------
is_cuda_available : `bool`
    True iff the user has CUDA *and* a suitable driver installed.
"""
```

The other notes you make are excellent, but are details that don't belong in the docstring. These should be make as inline comments in the code:

```
# The cutools module is only available if the user compiled with
# nvcc
try:
    from menpo.cuda import cutools
except ImportError:
    # user didn't compile with CUDA
    return False
# Menpo was compiled with CUDA, but
# user may not have the correct driver/lib available.
# Check using the CUDA extension's method
return cutools.is_cuda_available()
```