code: function(filter){
  
          var buffer = "",
              c = this.read();
  
          while(c !== null && filter(c)){
              buffer += c;
              c = this.read();
          }
  
          return buffer;
  
      }
docs: Reads characters while each character causes the given
  filter function to return true. The function is passed
  in each character and either returns true to continue
  reading or false to stop.
  @param {Function} filter The function to read on each character.
  @return {String} The string made up of all characters that passed the
  filter check.
  @method readWhile