mrg_rng for gpuarray

This adds a version of the mrg op for the new gpuarray backend.  I couldn't get it to work by just copying the cuda code, so I used GpuKernelBase (therefore as a bonus, it will work on AMD gpus).

I copied the _serial and _parallel test and verified that they pass. It should support float/double for output but I'm not sure it's tested right now.

I only made a new implementation of the mrg op for now, it lacks any optimizations/hooks required to actually make it work with the MRG_RandomStreams class (if any are required).