`bufferPath` here is an instance of `Uri` (same for `shaderPath` and `imagePath` below), it looks like we are relying on the `toString` implementation to have this automatically converted to the expected type.  Elsewhere we seem to be calling `toString` explicitly when we want a string out of it and I think we should do the same here for performance reasons (The Chrome optimizer likes the type passed to a function to always be the same).  @shunter what do you think?