[Semi Breaking Change] Add predicate overload to WaitForComponent
Created by: VelvetThePanda
Summary
Fixes compiler errors about ambiguous method invocation by making the CancellationToken overloads non-optional.
This PR also adds predicate based methods for WaitForButton and WaitForSelect, which further disambiguates the method overloads, and allows for more granular control over component-based interactivity
@RocketPrinter :)