bindings: Support 'undefined' keyword as replacement of 'void'

Makes the IDL lexer / parser support 'undefined' keyword.

The bindings code generator also accepts 'undefined' as replacement
of 'void', but no further features are yet supported. 'undefined'
cannot be used as a default value for example at this point.

Bug: 1116522
Change-Id: Iaac5fac72e589dda21da7430461974335cfb0273
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3844883
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1038096}
NOKEYCHECK=True
GitOrigin-RevId: 3b0f015662c034843d5075c5b18c34ad013f289b
3 files changed