Made some changes, so that it is easier to use more than a single graphics API. I am still delaying the generic virtual functions wrapper until I have at least two working APIs.