CONFLICT: Jon and Jonas had altered neighbouring lines in image.py

We want Jonas change to use logAttrib() and Jon's change to use
self._needTextureUpdate = False
BF: makes sure that texture/image is updated after setting contrast/color

AND this should only be set once if contrast and color are both changed
(recreate texture during draw())
BF: fixed problem with setting color/contr for greyscale ImageStim

needed a new shader program to cope with the fact that ImageStim
switched to using ubyte rather than floating point pixels
TESTS: added further tests for ImageStim

checks greyscale image coloring and also numpy textures to ImageStim and GratingStim
Merge pull request #537 from jeremygray/master

TEST: rf to remove os.chdir()
RF: trim trailing whitespace (no code changes)
LOGS: fewer warnings on XML import about duplicate variable names