* Implemented buffer/stream constructors for CanvasImage and added section to Canvas example
Signed-off-by: David Butler <mail@davidbutlerdesign.co.uk>
Fixes some tree rendering problems where lines were not properly drawn
at some levels during some circumstances.
* Change the API back to only allow one root.
* Now uses a stack based approach to rendering instead of recursion.
* Removes the need for measuring the whole tree in advance.
Leave this up to each child to render.