Fix most egregious namespace pollution, add OBTypeRef

Make OBRetain return proper OBTypeRef
Users should not have to cast to OBObjType * to retain and release.