Allow not passing event args to binding

Useful when bound function accepts optional arguments that are not
compatible with event arguments (e.g. Marbles.View.prototype.render)
Refactor to use document fragments where possible (not fully tested, everything dealing with raw html now runs through appendHTML)
Make appendHTML work with script tags