Implement `dropout(x, drop_prob, mask)` returning scaled activation list.
dropout(x: list[float], drop_prob: float, mask: list[int]) -> list[float]