This sounds very cool! If you'd like to talk about your experience with the project on the Servo zulip (servo.zulipchat.com), we love hearing feedback from embedders.
This is something I want to make possible! There was an early experiment in https://github.com/mcclure/cuervo/ which helped identify some ways that our embedding APIs would need to change to support that use case.
Servo currently incorporates a network stack, a JS engine, the DOM, JS APIs, an HTML parser, a CSS styling engine, graphical rendering, media parsing and playback, etc. It is not a browser, since it doesn't impose requirements about how to load specific pages, interact with tabs, expose history or bookmarks, etc.
We've been cagey about this over the months since the Servo team at Mozilla was disbanded, since there were various moving pieces that needed to fall into place. We're excited about the possibility for Servo to continue growing and evolving in its new home, though!
That operates under the assumption that no FieldInfo will be accessible after the original vector is deallocated, and similarly requires auditing to ensure this property holds (while making no guarantees about the future).
Mmm, pretty. I had a similar project a couple years ago attempting to replicate OpenMPT's interface in the web browser: https://github.com/jdm/domtracker and http://www.joshmatthews.net/domtracker/; it played sounds in earlier versions of FF and Chromium but I haven't upgraded it to keep abreast of newer WebAudio implementations.
Not quite, and certainly not this year. We've said that we want to release an alpha version of something powered by Servo on Android this year; the Firefox OS work is just another good way to show viability of our ideas - it would be a huge feat of engineering to get it ready to ship on devices under the Firefox OS banner.