Refactor the model.

The model is split into WnckState and WnckWrapper. The wrapper is the only
public interface.

Language.py renamed to parser.py and parsing logic from main.py moved in.
Start to work on an application selector

- Ran into a lot of issues/open questions. See TODO for more info.

- Seem to get a parse error on commands run on XIDs. Don't know if its because I'm
not using the right value for XIDs of not. See the errors below:

:<#0x160001d "selector.py (~/wim/wim) - GVIM">
ParseException: Expected end of text (at char 0), (line:1, col:1)
:{#0x160001d}
ParseException: Expected end of text (at char 0), (line:1, col:1)
Add Application Selector

Applications can only be selected by the XID of the group leader. This code
either doesn't work or (more likely I believe) I cannot figure out how to test
it.