Ability to add elements to Imager after initialisation

This is very similar to (and inspired by) https://github.com/BBC-News/Imager.js/pull/92, with a slight change in the interface and the addition of a few tests.

closes #92
closes #110
refs #24 
Wasn't sure on calling this ```add``` in the use case where no arguments are passed (```imager.add()```). But then I wouldn't expect an ```update``` method to take params (and ```addOrUpdate``` seems a bit clumsy).