Fix includes
Add missing ones
Remove unneeded ones
Convert forward decl to include where needed
Fix syntax where needed
(cherry picked from commit 6a6156db)
Add missing ones
Remove unneeded ones
Convert forward decl to include where needed
Fix syntax where needed
(cherry picked from commit 6a6156db)