README: fix encoding/decoding examples wording
filter: improve API

Make the Filter type be the BPF program itself. rename the Close() method to
Cleanup() and add some documentation.
capture: make ApplyFilter take a filter.Filter argument directly

This makes the API more flexible to future changes (albeit more verbose) and
reduces code duplication.
filter: don't use pcap for Match() and Cleanup()

Import the bpf_filter.c from FreeBSD to implement the Match() method. This also
adds the Validate() method implemented by bpf_filter.c too.

Eventually we may want to reimplement these functions in native Go.
README: add filtering example