Add default preferences

Adds new user preferences that allow a user to set default material types.

The preferences are implemented as booleans so they are subject to a known issue where boolean preferences aren't inherited properly.