Literal selectDynamic macro

Adds a selectDynamic macro like the ones in `Record` and `Union`, that allows one to write things like
```scala
val i: Literal.`2`.T = 2
val s: Literal.`"a"`.T = "a"
```

instead of
```scala
val wTwo = Witness(2)
val i: wTwo.T = 2
val wA = Witness("a")
val s: wA.T = "a"
```