[mlir][acc] Add MappableType API for generating private recipe init (#148293)
This introduces the first in a series of APIs that will allow a
MappableType to generate the body of the recipes. The current API does
not actually generate the recipe itself - it generates the body of it.
So it can either be placed in a recipe or inlined directly as needed.