Reflective Access Improvements

This PR addresses issues #24 and #25 by:
* Reimplementing the `IChatBaseComponent a(String)` one-liner, as it is a very simple deserializer, using a name-retrieval free implementation. This should prevent the code from breaking on updates unless the fuzzy matching criteria become ambiguous or obselete.
* Maintaining a global reflection cache of all the things. This includes fields, methods, and types, which are cached in a synchronized manner within the `Reflection` class.