Prefer namespaces over completly static classes

Some classes, which allocate memory dynamically, have destructors to cleanup their stuff. But since an instance is never created the destructor gets never called. These classes had the same pattern, that they only contained public static members (or even private static), and never used a destructor. 
This pattern has unnecessary class overhead and leads to to misinterpretation, that the destructor would cleanup stuff at the end. So this PR moved all these pattern to namespaces, which are named after the prior classes. 
Didn't update the changelog, since this is developer internal.