refactor constraints to use IConstraintStep, this way we can avoid
unnecessary calls to `get-dom` while retaining the flexibility to call
`-runnable?`, `-entailed?`, and constraint invocation in whatever
order we please.

refactor protocols to use ClojureScript style naming convention - this
is prep for eventual unification of the two code bases.
refactor to minizime calls to `get-dom` in FD code