Add shapes.csv; changes to texture file parsing

Counts for block types and shapes are now read dynamically instead of
hard-coded as constants.

The 'textures' variable has been renamed to 'tex' throughout.

New free_textures() function, as it contains heap-allocated members.