Fixed bug in the s_header_field state

If the buffer ended with the '-' char on the s_header_field state, the parser forgot to call the on_header_field() callback due to the wrong 'break'.
Fixed by letting the 'is_last' check to handle the "last-char" situations.