Removed trailing whitespaces.  Converted tabs to spaces.

* No functional changes
* Removed tailing whitespaces, there was an excessive amount
* GitHub hackeds up my tabs with a tabstop of 8, where as I use
  a tabstop of 4.  This makes it a little easier on the eyes.
Formatting changes on LICENSE.  No actual license changes.
Removed ansi_esc_test() function and moved the code to test.php
Forgot to change my editor to spaces.  Tabs to spaces in test.php
Overhauled totally, into a class.  Added 2nd parm for ansi_esc().

* Overhauled the code so that it uses array replacements instead
  of string replacements.  This is more effecient and means it
  no longer requires the array to be sorted by length.  While
  it is in a class, we added the alias ansi_esc() to call the new
  static member.

* Some other cleanups unrelated to the class change, such as the
  default value is not 'reset' instead of 'false' to pass along
  the no-parameter reset indicator.  This eliminated some redundant
  code.

* Added a new syntax, an optional 2nd parameter.  When used with the
  second parameter, ansi_esc() will apply the format as expected,
  but instead of leaving the format open-ended and requiring an
  additional call to ansi_esc() to reset, it will end the returned
  string with a reset.  This creates a problematic "bug" that if you
  have an open-ended ANSI Escape sequence already open, and then call
  ansi_esc() with the 2nd paramter, in addition to the expected
  behaviour of reseting that ansi_esc()'s formatting, it will also
  reset all.  The only workaround is for ansi_esc() to maintain
  complete state of current open codes, and also write an inversion
  table, which at this time seems excessive.
Updated test.php to show 2-parameter syntax and for clarity.
Updated README.md significantly