layout: Change `RenderBox` to an enum and shorten its name in
preparation for removing its `@`-ness.

Also removes a few text copies that were taking place.

This sure does remove a lot of code!
Merge pull request #1327 from pcwalton/enumify-boxes

layout: Change `RenderBox` to an enum and shorten its name in preparation for removing its `@`-ness.
Use last resort font when only there is no font in font group.
There is a little bit of performance gain of layout.
removing unnecessary to_owned
Merge pull request #1341 from deokjinkim/layout_font_optimize

Use last resort font when only there is no font in font group.
Merge pull request #1343 from ryanhc/removing_to_owned

removing unnecessary to_owned
Remove unnecessary @mut from LineboxScanner
Convert LayoutContext.image_cache from @mut to MutexArc