@Author : What you should do ?
Use Angular. Every single thing you mentioned there is covered. Except coffeescript, but thats unrelated anyway.
Whats covered ?
Async code : check. ( timeout flush )
Wrapper for XHR : check ($httpBackend ).
DOM abstraction : check ( No DOM Manipulation in controllers! )
fast feedback : check ( karma ) .