Metaviewport parser

By default, phantomjs doesn't interpret the meta viewport — not an issue when width=device-width or initial-scale=1.0, but problematic in all other cases; this patch provides a library to parse the relevant meta viewport declaration, and then configure phantomjs to render the screenshot appropriately