Initial pass at interior "play", "edit", and "add" views

This is just a rolling PR as a heads-up. The changes need quite a bit of clean-up and refactor work before they are ready to merge. Feel free to comment on any particularly heinous code in the meantime.
You should probably set sublime to add in newlines at the ends of files, I'm noticing all your PRs don't have them