Fix automatic trailing whitespace trimming only applying to last loaded buffer

The current implementation of the plugin only trims trailing whitespace for the last buffer the plugin processed. Internally, this is due to clobbering previously set buffer autocommands with every new buffer it fires for by using a self clearing autocommand group. This PR switches automatic trailing whitespace trimming to a global autocommand checking a buffer variable set by the plugin, which allows us to set the handling dynamically on a per buffer basis while applying it to any buffer that gets written.