protocol: add state set functions for maximized and fullscreen.

These functions only differ from the previous one because they request
that the given state is set, without changing the surface type, thus
removing any previously state that was set on it.

Both states can be used at the same time, and the states can be set or
unset independently.