Hide Primitives feature

Primitive blocks in the palette can now be hidden in the project via
their context menu. Each palette's context menu further lets you hide
or show all its primitives depending on whether any primitives are left
to hide or show.
Hidden primitives are stored in the project data. This lets instructors
create "simplified" examples and problem sets.