Performance improvements to atrule() and trim() fns

Before this change, `atrule()` was a cascade of potentially failing RegExps.
This change introduces a short-circuit that bypasses the RegExps if the
next character is not an '@'. `make bench` shows a 20-25% improvement in
op/s.

Also before this change, when the argument is falsy `trim()` calls `replace()`
on the empty string. This change guards against unnecessary calls to `replace()`
with a ternary. `make bench` shows a 2.5-5.5% improvement in op/s.

With both changes, make bench shows a combined 30-40% improvement.

Benchmarks were run 5 times and the results averaged.