Work

- Started rewriting most editor subsystems
- Replaced Utilities.GetHashCode with generic versions to prevent boxing
of structs
- Added AddRange and InsertRange to ObservableCollection<T>
- Fixed GetHashCode on Transform