Make the fusion optimizer profile more information.
indent and add opt name in the opt, not just when registering it.

this make the name printed in more place.
Small doc update.
Print the global opt name.
more FusionOptimizer profiling
Remove class that aren't used.
Don't print opt that took no time (they probably where skipped)
Don't register the DestroyHandler on opt that don't need it.
sort profiler outputs.
Don't use toposort when we don't need it.
more opt profiling info.
[Crash fix]

fix crash when we selected the wrong version of the gpu conv code.
Move fusion before AddDestroyHandler.

We take care to still have this order: gpu, cpu/gpu fusion, then gpu again.
Add the opt name as a tag.
remove code not used that do nothing.
Merge pull request #1756 from nouiz/mixed

Fix gpu crash and faster optimization