Introduced an image element and refactored the code in the process so less code was required in the new element

Note: I did not create a db/upgrade.php script to add the new database tables as this module should not be currently used by anyone.