massive overhaul of profiling. Added tests

as well
better data formatting
changes to ui of profile block, moving tools to mixins
updates to allow deep profiling
Everything is WORKING as you would think. Deep profiling works as you would expect
updated mixins