Totally rewrote tag editing function

Tags that weren't present in the original mp3 can now be added. Additionally, tags aren't limited by the amount of characters of the original tag. This introduces a few changes in the way that the module is used:

1. Previous tags are no longer retained when writing new ones. All older tags are removed before new tags are added.
2. Tags must be identified by their four character names (i.e. "TPE1") rather than their human readable equivalents. See http://id3.org/id3v2.3.0 for more info
3. Support for adding embedded album art is included, but only for PNG files. They must be passed in as a buffer (rather than a string) to the call to write() using the "APIC" frame.