Move Django template debugging to a separate plugin. Added Jinja2 template debugging.

This is 
a) refactoring of tracing, that moves all Django related code to plugin that is enabled on respective breakpoint add and 
b) Implementation of Jinja2 template debugging ontop of the new plugin architecture.

The resulting tracing speed should remain the same(we have measured performance of this new version) while code readability is increased by decoupling from Django tracing parts.

Patch authors: Elizaveta239 and traff

Known issues: set attribute is not implemented yet for Jinja2 and broken for Django, we will fix it afterwards.
I think you can still have the approach I outlined with the same overhead if you create the plugin_manager and assign the methods directly to it when only a single plugin is active -- just excluding the methods that add breakpoints which are the ones which determine what becomes active/inactive (and if more than one plugin becomes active it falls back to iterating through the implementations) -- actually, it should be even faster, as `__getattr__` by itself does add some weight (I wouldn't be surprised if it disables some optimizations on pypy).