I've been working on a service that runs WebPagetest in the background and allows you to track front-end performance over time.
http://speedcurve.com
You can track and dig into waterfalls of each test to understand some of what you're after. To capture interaction performance, WebPagetest has also recently added user timings so you can add simple JS events to your page and have them show up in WebPagetest and SpeedCurve.
http://blog.patrickmeenan.com/2013/07/measuring-performance-of-user-experience.html
If it's a single page app then Caliper is new and looks really promising.
http://caliper.io/