Add security tests to show that the symbol table doesn't grow
Remove #to_sym calls from Drop and Variable

Symbols are not needed here and using plain strings is nicer on Ruby
Change Drop method lookup to not hit respond_to?

Class.public_method_defined? ends up diving into Ruby's core looking for
a method with the given method_or_key. This process at some point turns
method_or_key into a Symbol. This change no longer takes that path and
thus doesn't grow the Symbol table.
Convert Strainer to white-list method protection

After moving the method existence check from Context into Strainer,
updated Strainer to only accept invokation methods that were added via
filter Modules, and done in a way that respond_to? is never called,
preventing unconstrained Symbol table growth.