Clamp -> Cramp

Includes the following changes:
- Reimplements clamp.js to support clamping of non-textual content, such as images.
- Replace recursive logic with more straightforward iterative logic.
- Removes some unnecessary options.
- No longer will look more than one-level deep to clamp textual content (e.g. clamp.js will look inside a "strong" element and clamp text inside that element - cramp will take the all-or-nothing approach of including or excluding the entire "strong" element.

Future Work:
- Performance is an issue when cramping a ton of elements at once.  We could try to fix this by reducing the number of elements we cramp at a given time and/or using a less naive approach to cramping content (e.g. don't always start your search from the end).