Changed WorkQueue to use a List<SharedPtr<WorkItem> > and ensure that it doesn't contain duplicates.
Changed AddWorkItem to take in a SharedPtr<WorkItem>.
Changed Render functions to use new WorkItem design.
Added automatic extension when saving material as
Merge remote-tracking branch 'remotes/alexparlett/feature/work-item-refactor'
Bullet rigidbody's inertia tensor does not depend on position, so no need to recalculate it if rigidbody position only is forced to a new value.