Matching semantics of GWT.create by allowing FakeProviders to be used to return completely different types from the type passed to GWT.create. This is useful for gwt-rpc.