API change:
- hb_face_is_immutable() now takes `hb_face_t *` instead of previous
`const hb_face_t *`. This should not pose any problem for any
clients in our belief.
Previously, when creating an object from inert inputs (eg:
"hb_font_create(hb_face_get_empty())") we returned the inert
empty object. This is not helpful as there are legitimate
usecases to do that.
We now never return the inert object unless allocation failed.
Tests are revised to reflect.