Add more details to the source maps

- Previously, the whole rules were mapped to the beginning of the original
  rule. Now, we go deeper: Map comment to comment, declaration to
  declaration, selector to selector, etc.

- Added tests for the generated source maps.

- Improved documentation.