Allow configuration of timer scheduling. When using syn within some frameworks (e.g. Ember), asynchronous callbacks need to be managed so they are executed within a run loop. Since syn internally makes use of setTimeout, this makes it incompatible with such frameworks.

This commit supports replacing calls to setTimeout with calls to a configured method such as a framework-supplied method for scheduling timers (in Ember's case, Ember.run.later()). Thus, by just setting

    Syn = { schedule: function (fn, ms) { Ember.run.later(window, fn, ms); } };

before loading syn.js, syn can be made compatible with Ember testing (and similarly for other frameworks).
Merge branch 'master' into config-timers

Conflicts:
	dist/syn.js
	src/drag/drag.js
	src/key.js
	src/mouse.js
	src/synthetic.js
Syn.support should wrap setTimeout

Fixes an issue with #28 where, when setTimeout is being used, was
throwing a TypeError. setTimeout expects to be called in the context of
the window, but was being called in the context of support. Wrapping a
function around it fixes the problem.
Adds a test for Syn.schedule

Adds a test by utilizing Syn.delay which will always need to use
Syn.schedule. Opens the page in an iframe and asserts that the
overridden `Syn.schedule` is used. For #28
Merge branch 'config-timers'