Access ArrayHandle internals in a critical section
When it was originally created, it was assumed that the ArrayHandle class would be used by a single thread. As the use of VTK-m expands, that is no longer a safe assumption. To ensure that operations on ArrayHandle happen correctly, add a mutex to the Internals of ArrayHandle and require all operations on the Internals lock that mutex.