It's all Turing machines/lambda calculus at the bottom, right?
Javascript is slower, sure, but (with recent developments) not that much slower.
The porting issues involved with making something work cross-browser are much less than the porting issues we used to face in making something work on (e.g.) MS-DOS and Mac. With JS the UI needs tweaking. With MS-DOS and (classic) Mac OS you had to do a full rewrite from scratch.
Things are arguably getting a lot better.
I think web workers will use multiple cores, if you have them, but don't quote me on that.
https://github.com/kripken/emscripten/wiki
And yep, I was right. Web workers do make use of multiple cores, and there's at least one parallel programming library that takes advantage of it:
Really a shame.
For running any application that spends 99% of its time waiting for the user to press a key (which is most of them)? Sure. No problem at all.
Is targeting JS more trouble than it's worth? Is it a good long-term solution?
It shouldn't be too hard to port any language written in C. I don't know what would be involved in getting Mono up and running (so you could get Microsoft languages) but it doesn't seem like it would be impossible.
What we have is a very messy, primordial soup. But the more important things are in reducing complexity (while maintaining performance), and in that realm immutable datastructures, fp, etc. are the (current) clear contenders to lead the way. We'll get there, we should just do our best to make sure we don't repeat the mistakes of the past that have become institutionalized on other platforms - or worse, ignore them and make even more dire mistakes (DOM as the lowest-common denominator, etc.)