add support for multiple engines

rename compilers to engines (and engine can compile and render, a
compiler can only do the former)

remove `.catch`es from test.coffee (let the error propagate when it hits
`.done` for better stack traces)

simplify compiler initalization a little by using a single constructor
defined in the base Adapter

add some more docs

change a few unrelated lines to maintain alignment
add yade support
make `resolvePath` work with symlinked folders

not an ideal solution...
update docs to say "engine"
update docs in adapter_base