Split cpp frontend to its own lib.

Change-Id: I6ff1c620ec28ca1b96bce569ad5a09b41130ee88
17 files changed