Rename or remove any identifier called `interface`

This fixes an issue on Windows where `interface` is an alias for `struct`.
Merge branch 'topic/rename_interface'