Moved 3rdparty to platform
This is the first part of isolating 3rdparty within platform.
The idea is that only platform.h should be used outside platform
platform.h might contain includes to internal files in platform.h, but no other source should.