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.