Extensions are just web pages, rendered as an iframe. The guidelines don’t allow for requiring viewers to download anything extra for the extension to work, but the broadcaster is allowed to download an external app for functionality.
If you want that iframe to communicate with a server then that’s entirely possible as long as it’s over SSL, and if it’s a game server you need the broadcaster to run then you’d likely want to run it through a proxy so that it doesn’t disclose the broadcasters IP to all viewers.
A Video Overlay extension can go fullscreen as it’s tied to the video player, so if you full screen the stream it’ll also fullscreen the Video Overlay extension. Keyboard shortcuts are not allowed, as it could interfere with the functionality of the Twitch player itself. You can use the keyboard for text input fields and things of that nature but shortcuts that provide functionality for the player always take precedent over your extension.