Completely rewritten detection field code

Detection fields have been rewritten from scratch. They are now stored
in a database.

Fields are now polygons not spheres. They have exception lists of up to
32 names that are ignored from logging and can be renamed.

Added string utils script with two functions so far. Also added an
IsValidUsername function to the player utils script.

The new detection field code uses y_dialog which I plan on updating all
dialogs to in the future (including SIF). For the meantime, I shifted
the dialog ID index up by 100 to make room for y_dialogs as there were
some conflict issues.
Updated object-loader FS

Changelog on the object-loader repository:
010e187d0af20e1ac91f7ef17272375c7a445f5a