Privatify WindowStates.

- Move definition in CMakeLists from public to private
- Remove HEAVEN_API
- Move to subdirectory States
- Split each class into own file
- Adjust includes