vhdl: wrap allocation arena in context
vhdl: wrap allocation arena in context

Add a `Context` struct which wraps around an arena and implements the
`AllocInto` trait for everything that the arena itself can allocate.
This now allows the context to be passed to the `FromAst` trait as an
arena. We might want to rename `Arena` to something more suitable, e.g.
`Context`.

fabianschuiki/moore,fabianschuiki/moore,fabianschuiki/moore,fabianschuiki/moore,fabianschuiki/moore