I too would like to thank you for the effort put in, but I find myself
in agreement with several of the other posters that I'm not sure this is
the right way to go about it.
I'm not a fan of the disparity between classes and functions that this
would introduce if used. Support for namespaced level functions is
already quite poor (with lack of autoloading) and rather than try to
gain a few bytes here and there, I think the better long-term option
would be to simply remove support for them entirely in favour of static
methods, and at that point the door is open to make functions and
constants be global-only.