Compositor and engine interfaces refactored into new crate, msg

r? metajack