BUG: indexing with DataFrame with nullable boolean dtype
Premise: I tried to look for similar issues (closed or not), but (to my surprise) I couldn't find any.

#### Problem

I often filter my data through comparison with given values, this breaks using pd.NA.

```python
import pandas as pd
from numpy import nan
from pandas import NA

NA == 1, nan == 1
>> (<NA>, False)

NA != 1, nan != 1
>> (<NA>, True)

NA > 1, nan > 1
>> (<NA>, False)

NA < 1, nan < 1
>> (<NA>, False)
```
Which implies:

```python
import pandas as pd

df = pd.DataFrame([1,2,NA], dtype="Int8")
df == 2
>>
       0
0     1
1     2
2  <NA>
```
and, even worse: 

```python
df[df == 2]
>>
Traceback (most recent call last):
  [ ... ]
  File "../lib/python3.7/site-packages/pandas/core/internals/blocks.py", line 2861, in _extract_bool_array
    assert mask.dtype == bool, mask.dtype
AssertionError: object
```

As you surely know, this would have worked flawlessly with numpy.nan.

#### The solution I'd like

pd.NA and numpy.nan should behave the same, especially in regards of comparisons.

#### API breaking implications

As far as I know pd.NA has been declared experimental, so this should not break much, but may greatly simplify the transition to it for performance and type consistency purposes (which are, from my point of view, the main advantages).

#### Describe alternatives you've considered

I'm not entirely sure pd.NA should be the same as nan in all regards. The documentation itself does not imply it at all. 
That being said, I'd still like to be able to filter my data without so much pain. :)  