Update resource loading implementation to handle only one URL per name

This follows up on the previous API change that allowed only one URL per name
during script/style loading and transitions the underlying implementation to
match the API.

Progress on #25.
I guess as long as you had to repeat `string|undefined` all over the place, it would have been easier to manage the named type. If `|undefined` is going away then I'm not concerned.