Change ResourceUtils to use static create method

- Use `ResourceUtils.create(entity).getResourceFromUrl(url)`
- Constructor no longer public
- Cache an instance in the driver classes as `resource` field