Move implementations from impl/*.h to *_impl.h

Seems some tools get confused by identical file names.