Port TopMenus to transitional syntax.

Mostly a syntactic refactoring. For this patch (and going forward, I think) I'm going to try and not use the `X() = Y` syntax, since it makes documentation more confusing. The downside is the comments get duplicated, but oh well. With this method we can stick classes at the top of the file anyway.
Good catch - I'll make sure those don't leak into the final commit.