Avoid multiple calls to ko.getBindingHandler
Make cyclic dependency error state which bindings have the cycle. Also make source more explicit about temporary and permanent marks during sort algorithm.
Factor out topological sort into separate function
Tiny optimisation