Add new kind of wysiwyg-editor based on in-place editing

To circumvent all the restrictions of normal iframe based editors. Replace it with an in-place editing version.
It is based on the jquery-plugin jeditable. Now every text element is editable only in predefined places.
For example the definition title and content. This ensures the resulting html is correct and can be convert to
markdown. Paragraphs can be inserted before or after every element by clicking at that area.

A nice bonus is that all elements can now be sorted inside of a slot through the use of .sortable().
That is important because there is no way to mark a position in a slot for the insertion of elements, ie examples.
One problem is that, for now, the editing is done in markdown, which is then converted to html. This might
be fixable through the use of a lightweight wysiwyg-editor for the textareas.

In this commit the \cite commands is not yet integrated into the wysiwyg editor. This will be done later.
Make citations editable in the editor.
Add citation button to the editor.

When the button is clicked a bibtex-key is prompted and used.
If no bibtex entry with that key is found a message is inserted instead.
A click on the citation can be used to prompt for a new key.
Change the bibtex path to the main application. The engines app path is usually not easily available.
Show the markup content if mode is not yet set.
Give some divs a minimum size to fix a problem with sorting.
Fix some problems with the ajax-save. Give Message if save was successful. Reload page if template was changed.
Remove focus from slots on click on #edit_frame.
Make the focus border smaller. Add some added css to the other templates.
Only allow sorting of top level items in the editor.
Scale the font-size of the editor content to better reflect the look it has in the presentation mode.
Hide the text content when the asset mode is active.
New WYSIWYG editor on Mercury Editor basis.

Add a completely new version of the wysiwyg editor. This version uses the mercury editor as basis.
Mercury is a HTML wysiwyg editor on HTML5 basis that solves most problems of other available editors
like event handling, content styling and extendability. The new version uses a new layout that minimizes
the space occupied by forms and buttons and groups them directly in the mercury toolbar.
A new preview window can be opened from the editor that shows the frame in the presentation mode and
updates on save and every frame change.
Slots can now be resized and the content of two slots can by switched with the click of a button.
Add fancybox.css to precompile list
Change the markup button behavior to a window redirect.

The simulated button click doesn't work and show the markup editor in the mercury layout.
move helpers into FassetsPresentations namespace

this should fix some issues when trying to use the helpers from outside
of the engine
remove unneeded require

because of the last commit, these are not needed any longer
Improve resizing and slot switching in the markup editor

Change the resizing and slot switching to a method approach to remove a lot of repetition.
Resizing and switching consists of a few operations on slots that repeat themself a lot.
For this three functions are implemented setSlotSize(), positionSlot() and switchSlots().
This makes the code more readable and removes bugs.
Switch wysiwyg editor to the more robust resize, switch solution.
Don't reload editor pages with ajax
Fix some bugs in the definition, example, box creation.

This also adds the cite a selecion
Remove h1,h2,h3 formating by selecting the header and clicking the button again.