Build: move public headers to a dedicated dir