Another header shuffle: - Add includes for libstdc++ types in files where they are actually used. - Remove unused includes; move them to .cpp files where appropriate. - Forward-declare some classes instead of including their headers. Add these include directives to .cpp files as needed.