Cleaned up a bunch of headers, and switched to forward decalaration
where applicable