Add fast_compile to GPU opt that move computation to the GPU.
Don't make gpuelemwise inplace opt enabled with device=gpu and optimizer=fast_compile.
Also remove useless op in fast_run.
Make sure dot(matrix, matrix) get moved to the gpu in fast_compile
Fix the opt local_gpu_dot_to_dot22 to move more dot to the GPU in
fast_compile.
Fix crash in the optimizer profiler.
Register to the gpu tag more opt, as we don't have all the other case on the GPU otherwise in fast_compile.
fix import crash.
Added a new decorator and tagged a few opts for optimization when using the gpu or optimizer=fast_compile.
Combined register_canonicalize_tags and register_canonicalize.
Changed name of parameter of inner function to disambiguate it.
Reworked opt.register_specialize to match the way opt.register_canonicalize works.
Reworked register_stabilize to work like register_canonicalize and register_specialize.
Fixed return statement.
Fix comment about code habit
make fast_compile work with the new gpu back-end.
gpuarray opt to move shape to the GPU.

I'm not able to reproduce the problem. It happen in the DLT
logistic_sgd with fast_compile optimizer.
Merge pull request #1967 from nouiz/fast_compile_gpu

[WIP] Fast compile gpu