As for me, the only problem is with getObject(i) call and I'd really prefer it to be backwards compatible (return String) unless some parameter is set.
As of getObject(i, JsonValue.class) I don't see any problem implementing it as a single jar. And if user calls you with this class, he obviously does have at least the API jar in his classpath. Its fairy easy to make an implementation that wont fail in both cases (no JsonValue in classpath - no support, has JsonValue - support is enabled when demanded with the respectitive getObject call).
Best regards, Vitalii Tymchyshyn