added window base class. also cleaned a lot of cmake shit.