Renamed tests for public static class properties
Added error trap for attempting to read public static property as instance property from outside class

- Refactored so PHP state (along with builtins etc.) is only set up once for the engine rather than per-run
- Changed Object->Class referencing to refer to the Class object (instance of the Class class)
  rather than storing class names everywhere and needing to refer back to the Namespace to get the Class object