WIP: API: Add Region method `intersect()`

TODO: Write a better commit message
match_text: Fix when region extends beyond display edge

It can be useful to pass a large region when you want the region to extend
all the way to the right of the screen but it is inconvenient to work out
how big the screen actually is.
Region: Check that we are constructing a valid Region
WIP: match_text: Fix when region doesn't match up with frame at all

TODO:
* Write test
REMOVEME: stbt-ssh-endpoint: Add command setup-lirc

This command should be removed once we figure out how to handle node
configuration properly and should definitely not make it into any
official releases.