hb_set_t to use a dynamic array of bitvectors

hb_set_t previously used a statically allocated bit vector big enough to store
the whole range of codepoints. now, pages are created for each small bitvector
dynamically as needed.