Resolve JSHint "saw 'eval' (a reserved word)"
Add JSHint options to circumvent errors
Consistent spacing style
More aggressively fall back for less capable environments

i.e. PhantomJS