This allows us to customise the input element used for each field type.
The only one implemented at the moment is color, which currently only
works on Chrome
We now detect errors loading the image and initialise a blank canvas
instead.
This means that it's possible to open HelloThere for editting, and then
change the "type" field to "image/jpeg", and the textarea automatically
switches to a blank bitmap. Next up is making it possible to change the
size of the bitmap.
Get rid of the separate renderContext stack and instead have a parent
pointer on renderer nodes. This lets us walk back up the render tree to
resolve context references