Pulling in some updates from OttoES
* Switching away from GraphViewData and using float arrays instead
* According to OttoES, this should help with memory management since the float arrays will use less space (among other benefits)