JS: let tab navigation use the standard ID's/classnames for inlines.

Let the placeholders appear as standard inlines, removes the magic.
Also allows generic code (e.g. jquery.django-inlines.js) to use it.
Code cleanup in cp_tabs.js, clarify inline rewriting code.

Can't use jquery.django-inlines.js after all, because the placeholder
inlines are constantly recycled.
Code cleanup, make the code and used objects easier to understand
Split extensions.py to a separate package

This makes it easier to add additional fields,
e.g. form fields which are specifically designed for plugins.
Added model fields for plugin developers

This helps to keep a consistent interface for file/image (and maybe
later WYSIWYG) fields.
Clean up debugging code and the need for mixins

Removed the ContentItemInlineMixin, this makes the code easier to
understand too. There is only a BaseContentItemInline now.
Set 0.9dev version number, drop Django 1.3 support
Simplify inline creation, drop Django 1.3 support

Django 1.4 has the fixes that the ExtensibleGenericInline uses; it
passes `kwargs` properly, and handles the excludes properly too.

The DynamicInlinesModelAdmin is removed too, as Django 1.4 has a
get_inline_instances() method, the PlaceholderEditorAdmin can use that.
All inlines can now assume they are created per request.
Fix class name for generated inlines.

The 'name' variable was reused in the same method.
Improve PluginNotFound error message, so the source can be found.
Add FLUENT_CONTENTS_PLACEHOLDER_CONFIG setting to limit plugins per placeholder
Mark methods in fluent_contents.plugins.oembeditem.backend as public
Update language and item descriptions
Add HtmlField so plugin developers can integrate a WYSIWYG field easily.
Let the HtmlField return safe strings by default
Reduce HtmlField height by default
Add basic picture plugin
Update plugin names and categories
Improve Placeholder/ContentItem names for delete screen
For development, ignore the output cache when the template is updated.