You might want to look at http://www.venusjs.org/ to get some ideas for supporting multiple testing frameworks. It uses an annotation approach kind of how you include files for tests. The automatic mocking is pretty awesome though.
Not trying to be tangental, but I believe this is true with EmberJS which was originally modeled off of Coaco. You inherit from Ember's base Objects (ArrayController, ObjectController, etc) and rarely find yourself extend classes that you write. Here is a hierarchy of the "base" classes. http://emberjs.jsbin.com/bahetoka/1
There are plans to have a "cookbook" section on the EmberJS site that will be one of the go to places to answer the question of "How do I do X in Ember?". It's currently on the master branch for the site, so expect that soon. In the mean time here are some other video resources http://www.embercasts.com/ and http://ember101.com/. They may be slightly out of date but they are still relevant. Make sure to look in the console for warnings about deprecations.
I stopped using CS because it's going to have some issues when ES6 becomes more of a real thing. For instance, how is CS going to handle for/of loops when ES6 has it's own for/of loops that is slightly different. The same goes for class and super.
There will have to be CS2 that introduces new semantics and old apps will have to be migrated.
As someone that just went through a whole slew of interviews I would say I agree with this to some extent. I'm a frontend developer and while CS principals are important, asking questions that are not practical to everyday development, are counter-productive and do not give you a view into how that person tackles a real problem.
Things like "write a function that performs merge sort", are bullshit because you would never do this in real life, largely because languages have sort methods that are already extremely performant. Plus a lot of languages will already be using some variant of merge sort and exposing it as a "sort" method.
If you are given a problem like "create a tabbed news component" or you're asked to do a small project (nothing longer than an hour), I think you can still get a good understanding of how people solve problems. This is less stressful, less "gotcha" mentality, and a fair approach.
Using push state and using non-hash banged urls is the right move. Twitter is pretty much unusable without javascript, and it doesn't look like they ever got around to implementing a non-js fallback for the site. Best solution is to have both (JSON and static) representations or use something like pjax https://github.com/defunkt/jquery-pjax.