Improved Java library API (IEncoder no longer uses useless generics)