Implement TinyMCE imagebrowser plugin

This is a TinyMCE plugin which allows for browsing and embedding of
Mahara-hosted images as well as the embedding of external web-hosted
images. This makes adding inline images to WYSIWYG text boxes more
user-friendly.

Viewing permissions for these embedded files is set by adding references
to them to a new database table, artefact_file_embedded, then checking
for the existence of the references in the table when serving the files
via artefact/file/download.php. For content blocks in views, such as
text and textboxes, any embedded images are saved as view artefacts, and
viewing permission is granted for those files accordingly via previously
existing checks in artefact/file/download.php.

This patch is designed to allow image embedding in all WYSIWYG text
boxes throughout Mahara, hence the table structure, with resourcetype
and resourceid providing the context for checking the validity of the
image file to be served.

Change-Id: Idcc5ab3495eed44eea6ced171d670ba4c73884f6
Signed-off-by: Mike Kelly <m.f.kelly@arts.ac.uk>