Make context optional

We plan to make it required in the future but it is optional now to make
easier to implement backwards compatibility
Deprecate component methods without the context argument

Only users that defines custom inputs will see this deprecation.