Only load field type if it hasn't already been loaded

This fixes an issue where an "can not redeclare class" error would be thrown if a field type exists in multiple locations.

This fix also comes with some performance improvements because if an instance of a field type already exists, it'll return that instead of reinstantiating it.

I'm not sure if this change will cause any issues elsewhere, but after doing some testing, it seems to work fine.