Use size_t in malloc wrappers.

Previously, our malloc wrappers used unsigned int as
size parameter, whereas malloc itself takes a size_t (typically
an unsigned long).

This fixes a bug reported by Michiel Kleinnijenhuis on
11/5/15. His model had a large number of walls (~18e6).
During instance_polygon_object our CHECKED_MALLOC_ARRAY macro
would multiply the number of walls with the size of struct wall.
Due to the large number of walls this would overflow the
unsigned int parameter in the checked_malloc function wrapped by
CHECKED_MALLOC_ARRAY (even though the underlying malloc
would have been able to handle the call due to its size_t
parameter). Since all malloc wrappers now take a size_t we
should be able to handle fairly large meshes. Nevertheless,
eventually there is still potential for overflow unless we add
a check to our CHECKED_MALLOC_ARRAY macro and perhaps others.