Improve support for custom ItemBlock constructors. 

The argument list for the constructor now doesn't have to specify the exact classes. Example:
```java
class SomeItemBlock extends ItemBlock {
    public SomeItemBlock(Block block, int foo) { super(block); }
}
...
GameRegistry.registerBlock(block, SomeItemBlock.class, "someBlock", 34);
```
Works now, did not work before. Not only primitives though, also the case of subclasses of the actual parameters being used is supported now.