Beginning of the Steam API wrapper rewrite

No more implicit interface. Focus is now on abstraction rather than
being a thin wrapper. Makes it harder to maintain but far easier to
use.