Optimized Compile time with better header structure

moved a bunch of needless includes in headers to cpp and sped things up quite a bit