Changes required to replicate results in my thesis

This PR consists of several smaller changes, with the biggest change being the introduction of code for the new color model.

The changes are as follows:
1) When 'dr' is used, the position_bound is increased. This makes sure the pattern is swept across the connection fields, even for neurons at the edge.
2) A switch to use image datasets is introduced. Please note that the standard McGill images are not compatible. Instead, images with 3 channels have to be used with the new color model.
3) Introduction of code for the new color model.
4) Add possibility of gain control for the spatial frequency channels. I had some more tweaks for my thesis, however that was more playing around with different extents of the gain control projections etc.; however, there was no scientific reasoning for that so I left them out. Spatial frequency needs further work anyway.

Please note that some of the changes are a bit hackish (although I tried to make them the least hackish as I could). If you think they are too hackish and it's easier for you to change than for me, please feel free to make the required changes yourself outside this pull request.
It might be good to move lines 392-394 and 396-398 into a new method or function hsv_change_brightness or hsv_change_value, accepting the brightness_difference as an argument, so that the function or method could have a name and a docstring and so that it wouldn't be confusingly repeated here with only a few very hard to see pixels that differ between the two (+ vs -).  After studying it I can tell exactly what it does, but it was quite mysterious at first glance.