OBJ loader changes

I've added an overload to renderPart on ICustomModel that takes an Icon parameter.

This overload uses the given Icon and the getInterpolatedU and getInterpolatedV methods from Icon to map the UV coordinates of the part to a set of UV coordinates within the Icon's minU/maxU and minV/maxV coordinates.

The purpose of this is to allow Icons to be used when rendering models, so that the bound texture can be textures such as /terrain.png and /gui/items.png.  This is useful for creating item and tile entity renderers that may need to render liquids, items, or other block textures as part of their model.