Minor fix for bugs in HOG implementation

There are some problems with the current implementation of the HOG features:

  - The code for the visualisation of the features has the coordinate Y flipped upside down, i.e., the representation of the gradients is mirrored in the vertical direction.
  - The gradients are computed calling to ``np.diff`` for each axis. ``np.diff`` uses an even length filter [-1, 1] that causes problems when applied in image edges with diagonal orientations.

This [IPython notebook](http://nbviewer.ipython.org/gist/pmneila/832aa665680f54e99937) contains two example images where the current HOG implementation fails and the fixed code provides proper results.

Minor, but this should be faster:
```
gx = np.empty_like(image)
gx[:, 0] = 0
gx[:, -1] = 0
gx = image[:, 2:] - image[:, :-2]
gy = np.empty_like(image)
gy[0, :] = 0
gy[-1, :] = 0
gy = image[2:, :] - image[:-2, :]
```