Correcting for edge case in line wrapping

If you look at the flow of the `eachWord` function, you'll notice that we add the word to the buffer if the width of the word `w` is less than the space available.

There's an edge case where `linebreaker` says that a line break is required on a word (because of a manual break: `theword\n`) and the width of the word being considered is greater than `spaceLeft`. In the current pdfkit, if this is the case:

 * we do not append the word to the buffer
 * we emit the line
 * we break and move on to the next line, starting with a clean line

This omits the word entirely.

This commit makes it so that we only break the line and start with a clean line if we already had the space to write the line to the buffer. Otherwise, we append the word to the buffer and go to a new line.
"Dangling" single word lines now get emitted

This commit adds an extra emit to a required line break if there's a "dangling" word on the end.
Merge pull request #200 from dariusk/master

Correcting for edge case in line wrapping
Add missing word count
Fix typo
Release v0.4.2
Clarify docs on `margin` vs `margins` properties (#199)
Update readme
Add script to generate website
Update link to example PDF
Fix link
Add Google analytics tracker for website
Allow 0 opacities
Fix the ellipse method
Fix bug in path parser
Handle reused commands in path parser for last command
Another path parser fix
Release v0.4.3
Switch to 2 space indentation
Make PDFDocument a node stream