added API docs, made canvas a read-only property.