uFA: Put example extensions in their own namespace to avoid conflict.
SEA: IListDrawer has a filter nulls option in advanced mode and inspect GO for GOs/Components.
FIX: BetterPrefs shouldn't throw errors anymore complaining about its dictionaries being null
FIX: GridGenerator will now assign tiles layers properly when making a selection (un)walkable
DLLs: Fixed SetValue for SerializedPropertyExtensions when it sets an enum index. There was no check for that
SEA: Readonly now takes an optional AssignAtEditTime to let you assign your field at edittime and then become readonly at runtime
uFA: Changed attribute arguments to be properties instead.

I don't want to use named parameters since sometime they cause problems when being used from inside namespaces
Introduced the Axis enum to help determine headings/directions for Player/AI
Made Vision more flexible by customizing the axis the fov angle rotates around.

This makes it easy to change from 2D to 3D settings, as well as the fov heading (direction - left, right, etc)
Movement improvement. Now we can easily determine a mover's headings

Mover:
- Added an Axis 'heading' in Mover to define which way he's facing. It's editable at edit-time so we could give him an initial heading but readonly at runtime.
- Added a onHeadingChanged delegate to invoke when the mover changes heading. That way we can easily change the Fov heading. Just drag/drop the Vision's SetHeading as a handler to this delegate.
- Added MoveTowards and MoveBy methods. The virtual Move does a MoveTowards by default.

PlayerMover:
- Removed the Direction enum and the MoveDown, etc methods.

Player animator:
- Introduced HorizontalDirection and VerticalDirection to determine the player's direction.

InputHandler:
- Brought back SubscribeToMovement. I just think it's cleaner.

Update player's prefab as well to include a Vision2D as a child. It should be wired correctly to change heading when the player changes heading.