Make SourceNodes work with other newlines than \n

- Makes `.toStringWithSourceMap()` work correctly with other newlines.

- Makes `.fromStringWithSourceMap()` preserve the newlines of the input.
  This is useful when using SourceNodes to concatenate files with source
  map support, without modifying the files.