Point $q$ is a kernel of a polygon $P$ if from $q$ we can see all vertices of $P$.
In addition, kernel is a intersection of $N$ half planes formed by edges of polygon.
Proofs of the above statements can be found in Visibility and Kernel of Polygon.
I try to figure out what the efficient way of testing if point $q$ is kernel or not.
The most naive way is to construct intersection of $N$ half spaces of polygon $P$, it should take $O(nlogn)$ and then check if point $q$ belongs to intersection of half spaces. So, all this process should take $O(nlogn)$.
I assume that more efficient way should exist.