Introduce a new class SurroundingText and a new API in InputConnection
to support retrieving surrounding text as an atomic request.
SurroundingText is the class for wrapping the text and sggestion info.
InputConnection#getSurroudingText() will return an SurroudingText object
if the protocol is supported.
Test: atest FrameworksCoreTests:SurroundingTextTest
Test: atest CtsInputMethodTestCases:BaseInputConnectionTest
BUG: 167947745
Change-Id: I2eb9ef5ba61a0e033007089da80f81548108621e