Select problem by type

Internal/temporary PR for review.
@bradenmacdonald "Add Component" menu maps almost one-to-one to responses. However, there are CustomResponse (and children) which allow virtually any input type tag and can represent anything. Also, it's used for two add component templates and it's not possible to distinguish between them. I'll switch to responses though, but there won't be "Custom Javascript Display and Grading" and "CUSTOM PYTHON-EVALUATED INPUT" - just "Custom" which would filter for both. I can't think of better approach achievable in time window we have, so if you have a better ideas I suggest keeping them for post-MVP era.