What does it mean to have > 51% hashing power for mining a block?
Having more than 50% of the hashing power in the total network means that you are likely to produce more that 50% of the blocks at current difficultly. This alone is not bad at first.
How does this link to the analogy between honest node and attacker ?
However with more than 50% of the blocks produced you could also start mining blocks on another private chain. While mining you could buy something from a merchant with bitcoin. On your private chain you don't include the transaction to the merchant.
Once the merchant has send you the bought goods you could broadcast the private chain. Since you have more blocks (with more hashing work put into) all honest nodes would accept your (previously private) chain as a valid chain. You'd have double spend the coins. The merchant wouldn't have received any coins for the send goods.
Also can attacker start mining 2 blocks ahead? or 3 or 4 blocks ahead?
It only makes sense to mine a block on top of another valid block. You need block
A to mine block
B. However you don't have to broadcast
A to mine