Easier debugging

Content type is changed to text/plain when source mode is on.
Object.defineProperty

Returns the object.
Cleanup

Used single quotes in JavaScript
Events

Pushing some things together
Cleanup

Pushing some things together.
Element.prototype.classList

Nicely modularized for IE6-9 and Safari 4.