To be really fair, out of the four biggest browser vendors (MS, Apple, Mozilla, Google) only Google makes it possible to use the other browser engines on their mobile platform.
Preventing other browsers for technical reasons is very different than doing so for policy reasons. iOS prevents other browsers in both ways. ChromeOS (and FirefoxOS, and others) might limit you technically, but do not limit you by policy.
When the limitations are just technical, you can try to work around them, but when they are a flat policy, like Apple does, there is nothing you can do.
Not realistically. The NaCl APIs to support dynamically-generated code have to revalidate every time, so they're too slow to support the heavily self-modifying nature of compiled JavaScript.