Adjust paintGrid multiprocessing code's passing of state to workers

This was changed for Windows compatibility, passing this state via
the per-task value that multiprocessing map() forwards. This turned out
to be a huge pessimization on all platforms. This patch changes things
so if it is possible to pass the parameters via global variables,
e.g. on Linux and OSX where fork() multiprocessing is used, it does so.
On Windows, it now uses the same global variable, but transmits the
data to it via a temporary pickle file.
Merge pull request #72 from ContinuumIO/scalingfix

Fix scaling problem with multiprocessing in find-orientations/paintGrid