Simple modification to function pointer notation
Added filtering functionality.

It's now easy to filter a byte stream to modify its bytes using a callback
function. The following functions are already implemented:
 - bs_filter_uppercase
 - bs_filter_lowercase
 - bs_filter_not
Added the missing combining function: bs_combine_sub