Bug 1081427 - Use custom interface to expose marionette content

I have always thought that the commander convention of calling this thing `program` was weird...