Merge demo-related commits
These commits were written to get the sockeye3 demo up to speed.
There are some caveats introduced by the demo (notably the hacks we need to implement to get the page tables right). These are documented in code and will be fixed by properly modeling device attributes in the future.