Given string s and pattern p, implement regex matching with '.' (any single char) and '*' (zero or more of preceding). Must cover the entire string.
2-D DP (bottom-up)
dp[i][j] = does s[i:] match p[j:]? Fill from bottom-right; base case dp[m][n] = True.