Add embedded comments Javascript and example HTML page.
Use local version of Utterscroll, so I can edit it.
Make Utterscroll in <iframe> scroll whole page

Send message to parent so it calls scrollLeft/Top(...), and use
event.screenX,screenY not .clientX,clientY, so relative mouse positions
aren't affected by the parent document changing its scroll position.
Let parent window handle all scrolling

Send Utterscroll start/do-scroll/stop events from iframe to parent, and use
screenX,Y in parent rather than clientX,Y. This makes it possible to start
scrolling in the iframe, and then continue scrolling in the parent window
(without releasing and pressing the mouse button inbetween).
Continue scrolling in iframe, if starting scrolling in parent.
Make Utterscroll work outside <iframe>s again.
Rename function, remove log message.
Add EmbeddedDiscussion page role and template.
Prefix /-/edit related links with origin

Otherwise the <base href=...> tag causes them to point to the wrong server.
Change to Twitter Bootstrap's taps because they make no Ajax calls

jQuery UI's tabs believe they are to load tab contents dynamically,
in an iframe, because of the <base href="..." ...> element which
effectively perfixes "#tab-id" with "http://server/page-path/" and then
the tab "id" looks like a URL to fetch, jQuery UI thinks.
Make reply form work in iframe: prefix '?reply' with page URI.
Remove margin from embedded discussion, initialize iframe width.
Sync embedded doc size with the <iframe> in the parent window.
Don't show page body for embedded discussions, only comments.
Move iframe scripts from HTML file to JS file bundle

Also include Utterscroll-for-iframe-parent in that bundle.
Rename EmbeddedDiscussion/s to EmbeddedForum/Topic, add controller.
Fix dummy user / system user id clash: let system be id "1", dummy "2".
Start implementing EmbeddedTopicsController

And show a reply button for embedded topics, although there's no page body.
Rename PageRoot to AnyPageRoot.
Refactor AnyPageRoot from complicated classes to a simple Option[PostId].